你以为 CSS 只是个简单的布局?
CSS3 奇思妙想
前几天看了一篇文章 , 颠覆了我对 CSS
认识,心中无数次蹦出一个念头:’卧槽,卧槽,还能特么这么用,这特么太叼了’ …
于是我迫不及待想跟你们一起分享分享,以后你也可以在别人面前炫(装)耀(逼)了~
ps:本文原创不是我,我只是搬运工,看到好东西与大家分享而已,作者 github 主页请戳 这里~
装逼指南
本文中,所有的图形都是在单个标签内实现的,大量使用了 CSS3
中的 ::before
、::after
伪元素,transparent
、border
,多重线性与径向渐变,多重内外阴影,如果你的效果不尽人意,请尝试在 Chrome
浏览器下预览。
装逼技巧
本文所有图形都会有个容器 <div class="css-cell"></div>
包裹,其样式结构如下:
1 | .css-cell{ |
所有图形都是在容器内实现的,其结构如下:
1 | <!--heart--> |
天气那一块有部分会多一个容器,其结构如下:
1 | <div class="css-cell "> |
为了方便起见,下面图形的具体实现,我只会贴出对应的类相应的样式代码~
装逼实战
- 爱心
利用 div
的正方形和伪类的圆型组合而成,具体代码如下:
1 | /*heart*/ |
- 气泡悬浮框
利用 border
结合 transparent
特性实现,代码如下:
1 | /*bubbly*/ |
- 切角
利用使用线性渐变实现的,代码如下:
1 | /*notching*/ |
- 弧形切角
使用径向渐变实现,具体实现如下:
1 | /*arc*/ |
- 梯形
利用伪类加旋转透视实现,具体实现如下:
1 | /*trapezoid*/ |
- 饼图
利用伪类、线性渐变、旋转实现,具体代码如下:
1 | /*pie*/ |
- 平行四边形
利用伪类、拉伸实现,实现过程如下:
1 | /*parallelogram*/ |
- 折角
利用切角、伪类、渐变、旋转实现,代码如下:
1 | /*corner*/ |
- 纯 CSS 方案实现背景变暗效果(hover按钮触发)
鼠标移入
利用 box-shadow
实现,具体代码如下:
1 | /*spectiveBlur*/ |
- 条纹背景图
主要是利用渐变实现,具体实现如下:
1 | /*stripe*/ |
1 | /*wave-stripe*/ |
1 | /*arrow-stripe*/ |
- 混合模式背景图
1 | .colorful-stripe { |
- 太阳
利用线性渐变、阴影、旋转实现,具体代码如下:
1 | /*sun*/ |
- 多云
利用线性渐变、阴影、缩放实现,具体实现如下:
1 | /*cloudy*/ |
1 | /*cloudy2*/ |
- 雨
利用线性渐变、阴影、缩放实现,具体代码如下:
1 | /*rainy*/ |
- 微风
利用border、transparent、实现,这个会多一层 div.breeze-container
包裹,样式代码如下:
1 | /*breeze*/ |
- 彩虹
主要是利用border、box-shadow 实现,具体实现如下:
1 | /*rainbow*/ |
- 夜空
主要是利用 box-shadow 实现 , 实现方式如下:
1 | /*starry*/ |
- 雷电
主要是利用阴影、border实现,代码如下:
1 | /*thunder*/ |
- 大雪
利用阴影实现 , 代码如下:
1 | /*snow*/ |
- 五角星
主要是利用border、transparent、旋转实现,代码如下:
1 | /*star*/ |
- 太极八卦
利用 box-shadow 实现 , 代码很简单:
1 | /*TaiChi*/ |
- 美队盾牌
利用 渐变 实现 , 代码如下:
1 | /*captainAmerica*/ |
- 纽扣
利用 渐变、阴影 实现 , 实现方法如下:
1 | /*button*/ |
- Chrome
利用渐变实现 , 具体如下:
1 | /*chrome*/ |
- Opera
利用渐变实现 , 代码如下:
1 | /*Opera*/ |
- IE
利用渐变、多重阴影实现 , 代码实现如下:
1 | /*IE*/ |
- safari
利用渐变、border、旋转实现 , 具体代码如下:
1 | /*safari*/ |
- firefox
利用多重阴影实现 , 代码如下:
1 | /*firefox*/ |
- 搜狗
利用文字、阴影实现 , 具体代码如下:
1 | /*sougou*/ |
- 利用滤镜实现混合效果
利用 fliter:blur()
、filter:contrast()
实现 , 代码如下:
1 | /*filter-mix*/ |
装逼总结
怎么样,是不是颠覆了你对 CSS3
的认识?
实际上 CSS3
带给我们的远不止这些东西,没有做不到,只有想不到,只有你脑洞够大,各种黑科技、酷炫的 CSS
必然也是手到擒来~
虽然你给不了 CSS3
全部,但它却把全部给了你,骚年,加油吧~
参考文献
本文主要来源以下文章:
对 CSS
感兴趣的同学可以去作者的 github 点个赞~